using MediatR;
using B.S.XZYData.ErrorCode;

namespace B.S.XZYData.Api.Wrter.Application.Command.AssemblyWorkOrder
{
    /// <summary>
    /// 导出装配工单命令
    /// </summary>
    public class ExportAssemblyWorkOrderCommand : IRequest<ApiResult<byte[]>>
    {
        /// <summary>
        /// 单据编号
        /// </summary>
        public string? DocumentNumber { get; set; }

        /// <summary>
        /// 工单数开始值
        /// </summary>
        public int? WorkOrderCountStart { get; set; }

        /// <summary>
        /// 工单数结束值
        /// </summary>
        public int? WorkOrderCountEnd { get; set; }

        /// <summary>
        /// 已结束工单数开始值
        /// </summary>
        public int? FinishedWorkOrderCountStart { get; set; }

        /// <summary>
        /// 已结束工单数结束值
        /// </summary>
        public int? FinishedWorkOrderCountEnd { get; set; }

        /// <summary>
        /// 创建时间开始
        /// </summary>
        public DateTime? CreationTimeStart { get; set; }

        /// <summary>
        /// 创建时间结束
        /// </summary>
        public DateTime? CreationTimeEnd { get; set; }

        /// <summary>
        /// 排序字段
        /// </summary>
        public string SortField { get; set; } = "Id";

        /// <summary>
        /// 排序方向 (asc/desc)
        /// </summary>
        public string SortDirection { get; set; } = "desc";
    }
} 